In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Each morning Byteasar the Postman has to visit every street of his district and deliver the mail. All of the roads are one-way and are connected by the (pairwise distinct) crossroads. A pair of crossroads may be connected by two roads at the most: one for each of the opposing directions. The crossroads are numbered from to .
Byteasar starts and ends each route in Byteotian Post headquarters, by the first crossroads. For as long as it can be remembered Byteasar had been choosing his route by himself, but recently the board of directors has issued a new regulation, limiting the freedom of choice of the routes. Each postman has been assigned a collection of route fragments - a set of sequences of crossroads. Byteasar has to choose such a route which:
Unfortunately, it is possible that the board of directors issued a regulation, for which a route satisfying the requirements does not in fact exist (it requires in one of its sequences that a road be taken, which does not exist, for instance). Help Byteasar and write a programme which verifies if a correct route exists and finds it if it does.
Write a programme which:
The first line of the input file contains two integers and separated by a single space, , , denoting the number of crossroads and roads, respectively. The following lines contain the descriptions of the roads: two integers , , separated by a single space, , , denote a one-way road from the crossroads to . Each (ordered) pair appears in the data once at the most. In the following line there is an integer , , denoting the number of assigned sequences. The successive lines contain the descriptions of these sequences. A description consists of an integer , , and a sequence of crossroads' numbers. The numbers in a line are separated by single spaces. The total length of all of the sequences does not exceed .
Your programme should write in the first line of the output file:
Should the answer be TAK, the following lines should contain a description of the route found. Should more such routes exists, write out any of them. The description consists of the sequence of crossroads the postman visits while on his route - numbers: , each written out in a separate line, such that:
For the input data:
6 10 1 5 1 3 4 1 6 4 3 6 3 4 4 3 5 6 6 2 2 1 4 3 1 5 6 3 3 4 3 4 4 3 6 4 3 5 6 2
the correct result is:
TAK 1 3 4 3 6 4 1 5 6 2 1
Task author: Tomasz Walen.